#include <iostream>
#include <vector>
#include <list>
#include <deque>
#include <algorithm>

// 迭代器按照定义方式分成以下四种。
// 1) 正向迭代器，定义方法如下：
// 容器类名::iterator  迭代器名;
// 2) 常量正向迭代器，定义方法如下：
// 容器类名::const_iterator  迭代器名;
// 3) 反向迭代器，定义方法如下：
// 容器类名::reverse_iterator  迭代器名;
// 4) 常量反向迭代器，定义方法如下：
// 容器类名::const_reverse_iterator  迭代器名;
void show(const int n);

int main(int argc, char const *argv[])
{
    using namespace std;
    // 声明一个vector
    vector<int> vector1;
    // 填充数据
    for (int i = 0; i < 5; i++)
    {
        vector1.push_back(i);
    }
    // 得到正向迭代器
    for_each(vector1.begin(), vector1.end(), show);

    return 0;
}

void show(const int n)
{
    std::cout << n << std::endl;
}
